package seed

import (
	"wms/internal/model"
	"wms/pkg/database"
	"wms/pkg/logger"

	"go.uber.org/zap"
)

// InitRoles 初始化角色数据
func InitRoles() error {
	logger.Info("开始初始化角色数据...")
	db := database.GetDB()

	// 创建管理员角色
	adminRole := &model.Role{
		Name:   "管理员",
		Code:   "admin",
		Status: 1,
	}
	if err := db.FirstOrCreate(adminRole, model.Role{Code: "admin"}).Error; err != nil {
		logger.Error("创建管理员角色失败", zap.Error(err))
		return err
	}

	// 创建员工角色
	staffRole := &model.Role{
		Name:   "员工",
		Code:   "staff",
		Status: 1,
	}
	if err := db.FirstOrCreate(staffRole, model.Role{Code: "staff"}).Error; err != nil {
		logger.Error("创建员工角色失败", zap.Error(err))
		return err
	}

	logger.Info("角色数据初始化成功")
	return nil
}
